[INFO] cloning repository https://github.com/dnakov/factorio-headless-client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dnakov/factorio-headless-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdnakov%2Ffactorio-headless-client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdnakov%2Ffactorio-headless-client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 971df193976c53443924ba67464cc99cdf7196b4
[INFO] checking dnakov/factorio-headless-client against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdnakov%2Ffactorio-headless-client" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dnakov/factorio-headless-client
[INFO] finished tweaking git repo https://github.com/dnakov/factorio-headless-client
[INFO] tweaked toml for git repo https://github.com/dnakov/factorio-headless-client written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dnakov/factorio-headless-client on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dnakov/factorio-headless-client already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.7
[INFO] [stderr]   Downloaded cc v1.2.52
[INFO] [stderr]   Downloaded mlua-sys v0.6.8
[INFO] [stderr]   Downloaded mlua v0.10.5
[INFO] [stderr]   Downloaded lua-src v547.0.0
[INFO] [stderr]   Downloaded luajit-src v210.5.12+a4f56a4
[INFO] [stderr]   Downloaded ratatui-image v4.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b
[INFO] running `Command { std: "docker" "start" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]     Checking bumpalo v3.19.1
[INFO] [stderr]     Checking time v0.3.45
[INFO] [stderr]     Checking lzma-rs v0.3.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking deflate64 v0.1.10
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]    Compiling lua-src v547.0.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]    Compiling luajit-src v210.5.12+a4f56a4
[INFO] [stderr]    Compiling mlua-sys v0.6.8
[INFO] [stderr]     Checking bzip2 v0.5.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking mlua v0.10.5
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking factorio-mapgen v0.1.0 (/opt/rustwide/workdir/factorio-mapgen)
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stdout] warning: unused variable: `min_spacing`
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let min_spacing = self.regs[suggested_minimum_candidate_point_spacing][0];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_spacing`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_spacing`
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let min_spacing = self.regs[suggested_minimum_candidate_point_spacing][0];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_spacing`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `seed0`, `seed1`, and `combined_seed` are never read
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:569:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | struct FactorioNoise {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 569 |     seed0: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 570 |     seed1: i64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 571 |     combined_seed: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `factorio_sincos` is never used
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 574 | impl FactorioNoise {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 620 |     fn factorio_sincos(angle_rad: f64) -> (f64, f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> factorio-mapgen/src/terrain.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct CompiledTile {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 15 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `controls` is never read
[INFO] [stdout]   --> factorio-mapgen/src/terrain.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TerrainGenerator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     controls: std::collections::HashMap<String, f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gradient` is never used
[INFO] [stdout]   --> factorio-mapgen/src/operations.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_gradient(idx: usize) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shuffle_permutation` is never used
[INFO] [stdout]   --> factorio-mapgen/src/operations.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn shuffle_permutation(seed: u32, perm: &mut [u8; 256]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub struct AddOp {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScaleOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub struct ScaleOp {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OffsetOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct OffsetOp {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClampOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:363:12
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub struct ClampOp {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpressionInRangeOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:409:12
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct ExpressionInRangeOp {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseLayerOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct NoiseLayerOp {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `seed0`, `seed1`, and `combined_seed` are never read
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:569:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | struct FactorioNoise {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 569 |     seed0: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 570 |     seed1: i64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 571 |     combined_seed: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `factorio_sincos` is never used
[INFO] [stdout]    --> factorio-mapgen/src/executor.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 574 | impl FactorioNoise {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 620 |     fn factorio_sincos(angle_rad: f64) -> (f64, f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> factorio-mapgen/src/terrain.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct CompiledTile {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 15 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `controls` is never read
[INFO] [stdout]   --> factorio-mapgen/src/terrain.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TerrainGenerator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     controls: std::collections::HashMap<String, f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gradient` is never used
[INFO] [stdout]   --> factorio-mapgen/src/operations.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_gradient(idx: usize) -> (f32, f32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shuffle_permutation` is never used
[INFO] [stdout]   --> factorio-mapgen/src/operations.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn shuffle_permutation(seed: u32, perm: &mut [u8; 256]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub struct AddOp {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScaleOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub struct ScaleOp {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OffsetOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct OffsetOp {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClampOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:363:12
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub struct ClampOp {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpressionInRangeOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:409:12
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct ExpressionInRangeOp {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseLayerOp` is never constructed
[INFO] [stdout]    --> factorio-mapgen/src/operations.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub struct NoiseLayerOp {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking factorio-client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stdout] warning: unused import: `crate::codec::Direction`
[INFO] [stdout]    --> src/codec/tick_closure.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     use crate::codec::Direction;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codec/map_transfer.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |         for i in 0..count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos_before`
[INFO] [stdout]    --> src/codec/map_transfer.rs:622:9
[INFO] [stdout]     |
[INFO] [stdout] 622 |     let pos_before = reader.position();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pos_before`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/map_transfer.rs:766:9
[INFO] [stdout]     |
[INFO] [stdout] 766 |     let mut consumed_active_trigger = false;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2358:9
[INFO] [stdout]      |
[INFO] [stdout] 2358 |     let s1 = reader.read_string()?;
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2363:9
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     let s2 = reader.read_string()?;
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s3`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2368:9
[INFO] [stdout]      |
[INFO] [stdout] 2368 |     let s3 = reader.read_string()?;
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_s3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u1`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2373:9
[INFO] [stdout]      |
[INFO] [stdout] 2373 |     let u1 = reader.read_u32_le()?;
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_u1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u2`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2374:9
[INFO] [stdout]      |
[INFO] [stdout] 2374 |     let u2 = reader.read_u32_le()?;
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_u2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_major`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2380:9
[INFO] [stdout]      |
[INFO] [stdout] 2380 |     let app_major = reader.read_u16_le()?;
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_major`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_minor`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2381:9
[INFO] [stdout]      |
[INFO] [stdout] 2381 |     let app_minor = reader.read_u16_le()?;
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_minor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_patch`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2382:9
[INFO] [stdout]      |
[INFO] [stdout] 2382 |     let app_patch = reader.read_u16_le()?;
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_patch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_build`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2383:9
[INFO] [stdout]      |
[INFO] [stdout] 2383 |     let app_build = reader.read_u16_le()?;
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_build`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/codec/map_transfer.rs:2395:9
[INFO] [stdout]      |
[INFO] [stdout] 2395 |     for i in 0..mod_count {
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_index`
[INFO] [stdout]     --> src/codec/map_transfer.rs:3040:42
[INFO] [stdout]      |
[INFO] [stdout] 3040 |         let (_chunk_start, entity_start, chunk_index) = chunk_starts[ordinal];
[INFO] [stdout]      |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3203:13
[INFO] [stdout]      |
[INFO] [stdout] 3203 |         let mut try_offset = |offset: usize| -> Option<(usize, usize, usize)> {
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_index`
[INFO] [stdout]     --> src/codec/map_transfer.rs:3171:42
[INFO] [stdout]      |
[INFO] [stdout] 3171 |         let (_chunk_start, entity_start, chunk_index) = chunk_starts[ordinal];
[INFO] [stdout]      |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3844:9
[INFO] [stdout]      |
[INFO] [stdout] 3844 |     let mut stream = match LevelDatStream::parse(&full_stream) {
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3996:10
[INFO] [stdout]      |
[INFO] [stdout] 3996 |     let (mut entities, mut tiles) = if parallel {
[INFO] [stdout]      |          ----^^^^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol/connection.rs:977:13
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let mut peer_id: Option<u16> = None;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_progress` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:1522:17
[INFO] [stdout]      |
[INFO] [stdout] 1522 |                 last_progress = 0xfe;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_sync_actions`
[INFO] [stdout]     --> src/protocol/connection.rs:3315:13
[INFO] [stdout]      |
[INFO] [stdout] 3315 |         let has_sync_actions = (flags & 0x10) != 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_sync_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tick_closure_ok` is assigned to, but never used
[INFO] [stdout]     --> src/protocol/connection.rs:3354:13
[INFO] [stdout]      |
[INFO] [stdout] 3354 |         let mut tick_closure_ok = true;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tick_closure_ok` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confirm_found` is assigned to, but never used
[INFO] [stdout]     --> src/protocol/connection.rs:3417:13
[INFO] [stdout]      |
[INFO] [stdout] 3417 |         let mut confirm_found = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_confirm_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pos` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3556:21
[INFO] [stdout]      |
[INFO] [stdout] 3556 |                     pos = pos.saturating_add(reader.position());
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pos` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3562:21
[INFO] [stdout]      |
[INFO] [stdout] 3562 |                     pos = pos.saturating_add(1);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tick_closure_ok` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3387:17
[INFO] [stdout]      |
[INFO] [stdout] 3387 |                 tick_closure_ok = false;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3423:17
[INFO] [stdout]      |
[INFO] [stdout] 3423 |                 confirm_found = true;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3430:21
[INFO] [stdout]      |
[INFO] [stdout] 3430 |                     confirm_found = true;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3437:21
[INFO] [stdout]      |
[INFO] [stdout] 3437 |                     confirm_found = true;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/map_transfer.rs:766:9
[INFO] [stdout]     |
[INFO] [stdout] 766 |     let mut consumed_active_trigger = false;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_speed` is never read
[INFO] [stdout]     --> src/simulation/action_executor.rs:1404:34
[INFO] [stdout]      |
[INFO] [stdout] 1404 |             let mut next_speed = 0.0;
[INFO] [stdout]      |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1414 |                 next_speed = speed;
[INFO] [stdout]      |                 ------------------ `next_speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_index`
[INFO] [stdout]     --> src/codec/map_transfer.rs:3040:42
[INFO] [stdout]      |
[INFO] [stdout] 3040 |         let (_chunk_start, entity_start, chunk_index) = chunk_starts[ordinal];
[INFO] [stdout]      |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_index`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3203:13
[INFO] [stdout]      |
[INFO] [stdout] 3203 |         let mut try_offset = |offset: usize| -> Option<(usize, usize, usize)> {
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_index`
[INFO] [stdout]     --> src/codec/map_transfer.rs:3171:42
[INFO] [stdout]      |
[INFO] [stdout] 3171 |         let (_chunk_start, entity_start, chunk_index) = chunk_starts[ordinal];
[INFO] [stdout]      |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3844:9
[INFO] [stdout]      |
[INFO] [stdout] 3844 |     let mut stream = match LevelDatStream::parse(&full_stream) {
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codec/map_transfer.rs:3996:10
[INFO] [stdout]      |
[INFO] [stdout] 3996 |     let (mut entities, mut tiles) = if parallel {
[INFO] [stdout]      |          ----^^^^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol/connection.rs:977:13
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let mut peer_id: Option<u16> = None;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_progress` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:1522:17
[INFO] [stdout]      |
[INFO] [stdout] 1522 |                 last_progress = 0xfe;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lua`
[INFO] [stdout]    --> src/lua/noise.rs:345:55
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let vp_multioctave_fn = lua.create_function(move |lua, args: Table| {
[INFO] [stdout]     |                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_lua`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/lua/noise.rs:556:17
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let content = std::fs::read_to_string(&noise_functions_path)
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `treat_missing_as_default` and `settings` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct AutoplaceSettings {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 371 |     treat_missing_as_default: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 372 |     settings: HashMap<String, FrequencySizeRichness>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoplaceSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `control`, `cliff_elevation_0`, `cliff_elevation_interval`, `cliff_smoothing`, and `richness` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 393 | struct CliffPlacementSettings {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 394 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 395 |     control: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 396 |     cliff_elevation_0: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 397 |     cliff_elevation_interval: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 398 |     cliff_smoothing: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     richness: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CliffPlacementSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `units`, `territory_index_expression`, `territory_variation_expression`, and `minimum_territory_size` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 419 | struct TerritorySettings {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 420 |     units: Vec<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 421 |     territory_index_expression: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 422 |     territory_variation_expression: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 423 |     minimum_territory_size: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TerritorySettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | struct MapGenSettings {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 462 |     default_enable_all_autoplace_controls: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     unknown_0x78: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 467 |     unknown_0x7c: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 468 |     unknown_0x80: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 469 |     unknown_0x84: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 470 |     unknown_0x88: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 471 |     unknown_0x8a: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 472 |     starting_area: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 473 |     peaceful_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 474 |     no_enemies_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 475 |     starting_points: Vec<(i32, i32)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 476 |     property_expression_names: HashMap<String, String>,
[INFO] [stdout] 477 |     cliff_settings: CliffPlacementSettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 478 |     territory_settings: TerritorySettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MapGenSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_property_tree` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:621:4
[INFO] [stdout]     |
[INFO] [stdout] 621 | fn skip_property_tree(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_noise_program` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn skip_noise_program(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_compiled_autoplacer_vector` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:674:4
[INFO] [stdout]     |
[INFO] [stdout] 674 | fn skip_compiled_autoplacer_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_compiled_map_gen_settings` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 | fn skip_compiled_map_gen_settings(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_collision_mask` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1257:4
[INFO] [stdout]      |
[INFO] [stdout] 1257 | fn skip_collision_mask(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1269:4
[INFO] [stdout]      |
[INFO] [stdout] 1269 | fn skip_path(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_cache` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1295:4
[INFO] [stdout]      |
[INFO] [stdout] 1295 | fn skip_path_cache(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1325:4
[INFO] [stdout]      |
[INFO] [stdout] 1325 | fn skip_pathfind_client_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client_cache_record_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1333:4
[INFO] [stdout]      |
[INFO] [stdout] 1333 | fn skip_pathfind_client_cache_record_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_optional_bounding_box` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1343:4
[INFO] [stdout]      |
[INFO] [stdout] 1343 | fn skip_optional_bounding_box(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_chunk_position_map_tick` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1354:4
[INFO] [stdout]      |
[INFO] [stdout] 1354 | fn skip_chunk_position_map_tick(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_chunk_position_double_map` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1368:4
[INFO] [stdout]      |
[INFO] [stdout] 1368 | fn skip_chunk_position_double_map(reader: &mut BinaryReader, count: u32) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_expansion_planner` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1377:4
[INFO] [stdout]      |
[INFO] [stdout] 1377 | fn skip_expansion_planner(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_subject` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1401:4
[INFO] [stdout]      |
[INFO] [stdout] 1401 | fn skip_path_find_subject(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_task_description` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1426:4
[INFO] [stdout]      |
[INFO] [stdout] 1426 | fn skip_path_task_description(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_base_node` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1436:4
[INFO] [stdout]      |
[INFO] [stdout] 1436 | fn skip_path_find_base_node(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_search_data` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1447:4
[INFO] [stdout]      |
[INFO] [stdout] 1447 | fn skip_path_find_search_data(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_algorithm` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1456:4
[INFO] [stdout]      |
[INFO] [stdout] 1456 | fn skip_path_find_algorithm(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_extend_path_task` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1483:4
[INFO] [stdout]      |
[INFO] [stdout] 1483 | fn skip_extend_path_task(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_task` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1505:4
[INFO] [stdout]      |
[INFO] [stdout] 1505 | fn skip_path_find_task(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1535:4
[INFO] [stdout]      |
[INFO] [stdout] 1535 | fn skip_pathfind_client(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_script_pathfind_client_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1545:4
[INFO] [stdout]      |
[INFO] [stdout] 1545 | fn skip_script_pathfind_client_vector(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfinder` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1555:4
[INFO] [stdout]      |
[INFO] [stdout] 1555 | fn skip_pathfinder(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1869:4
[INFO] [stdout]      |
[INFO] [stdout] 1869 | fn skip_map_generation_request(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request_in_progress` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1876:4
[INFO] [stdout]      |
[INFO] [stdout] 1876 | fn skip_map_generation_request_in_progress(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request_deque` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1882:4
[INFO] [stdout]      |
[INFO] [stdout] 1882 | fn skip_map_generation_request_deque(reader: &mut BinaryReader, in_progress: bool) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_manager` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1894:4
[INFO] [stdout]      |
[INFO] [stdout] 1894 | fn skip_map_generation_manager(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `update_tick` and `entity_tick` are never read
[INFO] [stdout]     --> src/codec/map_transfer.rs:2337:5
[INFO] [stdout]      |
[INFO] [stdout] 2335 | struct LevelDatStream {
[INFO] [stdout]      |        -------------- fields in this struct
[INFO] [stdout] 2336 |     version: MapVersion,
[INFO] [stdout] 2337 |     update_tick: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 2338 |     entity_tick: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_zip_map` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:3776:4
[INFO] [stdout]      |
[INFO] [stdout] 3776 | fn parse_zip_map(data: &[u8]) -> Result<MapData> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CATCHUP_TICKS_PER_FLUSH` is never used
[INFO] [stdout]   --> src/protocol/connection.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const MAX_CATCHUP_TICKS_PER_FLUSH: u32 = 60;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `server_tick_echo`, `heartbeat_echo_u32`, `send_empty_action_tick_force`, `parse_confirm_records`, and `parse_tick_closures` are never used
[INFO] [stdout]     --> src/protocol/connection.rs:2145:8
[INFO] [stdout]      |
[INFO] [stdout]  229 | impl Connection {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2145 |     fn server_tick_echo(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2164 |     fn heartbeat_echo_u32(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2912 |     async fn send_empty_action_tick_force(&mut self) -> Result<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3898 |     fn parse_confirm_records(&self, data: &[u8]) -> Option<(u32, usize)> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4128 |     fn parse_tick_closures(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_sync_actions`
[INFO] [stdout]     --> src/protocol/connection.rs:3315:13
[INFO] [stdout]      |
[INFO] [stdout] 3315 |         let has_sync_actions = (flags & 0x10) != 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_sync_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tick_closure_ok` is assigned to, but never used
[INFO] [stdout]     --> src/protocol/connection.rs:3354:13
[INFO] [stdout]      |
[INFO] [stdout] 3354 |         let mut tick_closure_ok = true;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tick_closure_ok` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confirm_found` is assigned to, but never used
[INFO] [stdout]     --> src/protocol/connection.rs:3417:13
[INFO] [stdout]      |
[INFO] [stdout] 3417 |         let mut confirm_found = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_confirm_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pos` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3556:21
[INFO] [stdout]      |
[INFO] [stdout] 3556 |                     pos = pos.saturating_add(reader.position());
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pos` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3562:21
[INFO] [stdout]      |
[INFO] [stdout] 3562 |                     pos = pos.saturating_add(1);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tick_closure_ok` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3387:17
[INFO] [stdout]      |
[INFO] [stdout] 3387 |                 tick_closure_ok = false;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3423:17
[INFO] [stdout]      |
[INFO] [stdout] 3423 |                 confirm_found = true;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3430:21
[INFO] [stdout]      |
[INFO] [stdout] 3430 |                     confirm_found = true;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `confirm_found` is never read
[INFO] [stdout]     --> src/protocol/connection.rs:3437:21
[INFO] [stdout]      |
[INFO] [stdout] 3437 |                     confirm_found = true;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `next_speed` is never read
[INFO] [stdout]     --> src/simulation/action_executor.rs:1404:34
[INFO] [stdout]      |
[INFO] [stdout] 1404 |             let mut next_speed = 0.0;
[INFO] [stdout]      |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1414 |                 next_speed = speed;
[INFO] [stdout]      |                 ------------------ `next_speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_blob_no_large` is never used
[INFO] [stdout]    --> src/bin/tile_decode_test.rs:508:4
[INFO] [stdout]     |
[INFO] [stdout] 508 | fn decode_blob_no_large(data: &[u8], out_of_map_id: u16) -> ([u16; 1024], [bool; 1024], usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_entity_prototypes` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:427:4
[INFO] [stdout]     |
[INFO] [stdout] 427 | fn extract_entity_prototypes(data: &[u8]) -> HashMap<u16, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_known_entity` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn is_known_entity(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_successful_parse` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:605:4
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn dump_successful_parse(data: &[u8], chunk_x: i32, chunk_y: i32, protos: &HashMap<u16, String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lua`
[INFO] [stdout]    --> src/lua/noise.rs:345:55
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let vp_multioctave_fn = lua.create_function(move |lua, args: Table| {
[INFO] [stdout]     |                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_lua`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/lua/noise.rs:556:17
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let content = std::fs::read_to_string(&noise_functions_path)
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_blob_no_large` is never used
[INFO] [stdout]    --> src/bin/tile_decode_test.rs:508:4
[INFO] [stdout]     |
[INFO] [stdout] 508 | fn decode_blob_no_large(data: &[u8], out_of_map_id: u16) -> ([u16; 1024], [bool; 1024], usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `treat_missing_as_default` and `settings` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct AutoplaceSettings {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 371 |     treat_missing_as_default: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 372 |     settings: HashMap<String, FrequencySizeRichness>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoplaceSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `control`, `cliff_elevation_0`, `cliff_elevation_interval`, `cliff_smoothing`, and `richness` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 393 | struct CliffPlacementSettings {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 394 |     name: String,
[INFO] [stdout] 395 |     control: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 396 |     cliff_elevation_0: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 397 |     cliff_elevation_interval: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 398 |     cliff_smoothing: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     richness: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CliffPlacementSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `units`, `territory_index_expression`, `territory_variation_expression`, and `minimum_territory_size` are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 419 | struct TerritorySettings {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 420 |     units: Vec<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 421 |     territory_index_expression: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 422 |     territory_variation_expression: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 423 |     minimum_territory_size: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TerritorySettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/codec/map_transfer.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | struct MapGenSettings {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 462 |     default_enable_all_autoplace_controls: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     unknown_0x78: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 467 |     unknown_0x7c: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 468 |     unknown_0x80: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 469 |     unknown_0x84: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 470 |     unknown_0x88: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 471 |     unknown_0x8a: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 472 |     starting_area: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 473 |     peaceful_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 474 |     no_enemies_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 475 |     starting_points: Vec<(i32, i32)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 476 |     property_expression_names: HashMap<String, String>,
[INFO] [stdout] 477 |     cliff_settings: CliffPlacementSettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 478 |     territory_settings: TerritorySettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MapGenSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_property_tree` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:621:4
[INFO] [stdout]     |
[INFO] [stdout] 621 | fn skip_property_tree(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_noise_program` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn skip_noise_program(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_compiled_autoplacer_vector` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:674:4
[INFO] [stdout]     |
[INFO] [stdout] 674 | fn skip_compiled_autoplacer_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_compiled_map_gen_settings` is never used
[INFO] [stdout]    --> src/codec/map_transfer.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 | fn skip_compiled_map_gen_settings(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_collision_mask` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1257:4
[INFO] [stdout]      |
[INFO] [stdout] 1257 | fn skip_collision_mask(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1269:4
[INFO] [stdout]      |
[INFO] [stdout] 1269 | fn skip_path(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_cache` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1295:4
[INFO] [stdout]      |
[INFO] [stdout] 1295 | fn skip_path_cache(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1325:4
[INFO] [stdout]      |
[INFO] [stdout] 1325 | fn skip_pathfind_client_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client_cache_record_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1333:4
[INFO] [stdout]      |
[INFO] [stdout] 1333 | fn skip_pathfind_client_cache_record_vector(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_optional_bounding_box` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1343:4
[INFO] [stdout]      |
[INFO] [stdout] 1343 | fn skip_optional_bounding_box(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_chunk_position_map_tick` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1354:4
[INFO] [stdout]      |
[INFO] [stdout] 1354 | fn skip_chunk_position_map_tick(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_chunk_position_double_map` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1368:4
[INFO] [stdout]      |
[INFO] [stdout] 1368 | fn skip_chunk_position_double_map(reader: &mut BinaryReader, count: u32) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_expansion_planner` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1377:4
[INFO] [stdout]      |
[INFO] [stdout] 1377 | fn skip_expansion_planner(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_subject` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1401:4
[INFO] [stdout]      |
[INFO] [stdout] 1401 | fn skip_path_find_subject(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_task_description` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1426:4
[INFO] [stdout]      |
[INFO] [stdout] 1426 | fn skip_path_task_description(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_base_node` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1436:4
[INFO] [stdout]      |
[INFO] [stdout] 1436 | fn skip_path_find_base_node(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_search_data` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1447:4
[INFO] [stdout]      |
[INFO] [stdout] 1447 | fn skip_path_find_search_data(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_algorithm` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1456:4
[INFO] [stdout]      |
[INFO] [stdout] 1456 | fn skip_path_find_algorithm(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_extend_path_task` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1483:4
[INFO] [stdout]      |
[INFO] [stdout] 1483 | fn skip_extend_path_task(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_path_find_task` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1505:4
[INFO] [stdout]      |
[INFO] [stdout] 1505 | fn skip_path_find_task(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfind_client` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1535:4
[INFO] [stdout]      |
[INFO] [stdout] 1535 | fn skip_pathfind_client(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_script_pathfind_client_vector` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1545:4
[INFO] [stdout]      |
[INFO] [stdout] 1545 | fn skip_script_pathfind_client_vector(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_pathfinder` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1555:4
[INFO] [stdout]      |
[INFO] [stdout] 1555 | fn skip_pathfinder(reader: &mut BinaryReader, version: &MapVersion) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1869:4
[INFO] [stdout]      |
[INFO] [stdout] 1869 | fn skip_map_generation_request(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request_in_progress` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1876:4
[INFO] [stdout]      |
[INFO] [stdout] 1876 | fn skip_map_generation_request_in_progress(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_request_deque` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1882:4
[INFO] [stdout]      |
[INFO] [stdout] 1882 | fn skip_map_generation_request_deque(reader: &mut BinaryReader, in_progress: bool) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_map_generation_manager` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:1894:4
[INFO] [stdout]      |
[INFO] [stdout] 1894 | fn skip_map_generation_manager(reader: &mut BinaryReader) -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `update_tick` and `entity_tick` are never read
[INFO] [stdout]     --> src/codec/map_transfer.rs:2337:5
[INFO] [stdout]      |
[INFO] [stdout] 2335 | struct LevelDatStream {
[INFO] [stdout]      |        -------------- fields in this struct
[INFO] [stdout] 2336 |     version: MapVersion,
[INFO] [stdout] 2337 |     update_tick: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 2338 |     entity_tick: u64,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_zip_map` is never used
[INFO] [stdout]     --> src/codec/map_transfer.rs:3776:4
[INFO] [stdout]      |
[INFO] [stdout] 3776 | fn parse_zip_map(data: &[u8]) -> Result<MapData> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CATCHUP_TICKS_PER_FLUSH` is never used
[INFO] [stdout]   --> src/protocol/connection.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const MAX_CATCHUP_TICKS_PER_FLUSH: u32 = 60;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `server_tick_echo`, `heartbeat_echo_u32`, `send_empty_action_tick_force`, `parse_confirm_records`, and `parse_tick_closures` are never used
[INFO] [stdout]     --> src/protocol/connection.rs:2145:8
[INFO] [stdout]      |
[INFO] [stdout]  229 | impl Connection {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2145 |     fn server_tick_echo(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2164 |     fn heartbeat_echo_u32(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2912 |     async fn send_empty_action_tick_force(&mut self) -> Result<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3898 |     fn parse_confirm_records(&self, data: &[u8]) -> Option<(u32, usize)> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4128 |     fn parse_tick_closures(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_entity_prototypes` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:427:4
[INFO] [stdout]     |
[INFO] [stdout] 427 | fn extract_entity_prototypes(data: &[u8]) -> HashMap<u16, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_known_entity` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn is_known_entity(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_successful_parse` is never used
[INFO] [stdout]    --> src/bin/entity_debug.rs:605:4
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn dump_successful_parse(data: &[u8], chunk_x: i32, chunk_y: i32, protos: &HashMap<u16, String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.08s
[INFO] running `Command { std: "docker" "inspect" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b", kill_on_drop: false }`
[INFO] [stdout] 2fe198aae31620fdb5a7b72703f65e00ad02f6061fe1d6f56d46b2288507a53b
